﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Repositories;

namespace TestApp.BookStore.Authors
{
    // 定义一个作者仓库接口，继承自IRepository泛型接口，用于操作Author实体
    public interface IAuthorRepository : IRepository<Author, Guid>
    {
        // 异步方法，根据作者名称查找作者
        Task<Author> FindByNameAsync(string name);

        // 异步方法，获取作者列表
        // 参数说明：
        // skipCount：跳过的记录数
        // maxResultCount：最大返回的记录数
        // sorting：排序字段
        // filter：过滤条件，默认为null
        Task<List<Author>> GetListAsync(
            int skipCount,
            int maxResultCount,
            string sorting,
            string filter = null
        );
    }
}